<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        width: 200px;
        height: 3000px;
        background-color: #8df;
      }
    </style>
  </head>
  <body>
    <div class="box"></div>
    <img alt="" />

    <script>
      const img = document.querySelector('img')

      // 需求: 在img进入可视区后 才加载图片资源
      // 本质: 一开始不给src属性 等img进入可视区 才去设置src属性
      // src="http://toutiao.itheima.net/resources/images/10.jpg"

      const observer = new IntersectionObserver((arr) => {
        // arr 是个数组 里面放的是被监视的元素们
        // arr[0] 就是我们监视的那个img信息对象
        // arr[0].isIntersecting  true 在可视区  false 不在可视区
        // console.log('元素进入或者离开可视区', arr[0].isIntersecting)

        if (arr[0].isIntersecting) {
          console.log('元素进入可视区了...')
          img.src = 'http://toutiao.itheima.net/resources/images/10.jpg'

          // 移除监听
          observer.disconnect()
        }
      })

      observer.observe(img) // 监视元素
    </script>
  </body>
</html>
